<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of FaqDao
 *
 * @author Francisco Nieto Zamora
 */
class FaqDao {
      public function mapearFaq($tab)
      {
        $lstFaq = new ArrayList();
        for($i=0;$i<count($tab);$i++)
        {
            $entrada = new BeanPreguntas();
            $resp = new BeanRespuestas();

            $entrada->setCodPregunta($tab[$i]['COD_PREGUNTA']);
            $entrada->setDescripcion($tab[$i]['DS_PREGUNTA']);
            $entrada->setTitulo($tab[$i]['TITULO']);

            $resp->setCodPregunta($tab[$i]['COD_PREGUNTA']);
            $resp->setCodRespuesta($tab[$i]['COD_RESPUESTA']);
            $resp->setDescripcion($tab[$i]['DS_RESPUESTA']);
            $entrada->setRespuesta($resp);
            
            $lstFaq->add($entrada);

        }
        return $lstFaq;
      }



    public function obtenerFaqSQL($preg)
    {
        $sql='SELECT P.COD_PREGUNTA AS COD_PREGUNTA, P.DESCRIPCION AS DS_PREGUNTA,'
        .' P.TITULO AS TITULO, R.COD_RESPUESTA AS COD_RESPUESTA, R.DESCRIPCION AS DS_RESPUESTA '
        .' FROM PREGUNTAS P LEFT JOIN RESPUESTAS R ON R.COD_PREGUNTA=P.COD_PREGUNTA WHERE 1=1 ';

        if($preg!=null){
        if($preg->getCodPregunta()!=null)
        {
            $sql=$sql." AND P.COD_PREGUNTA=".$preg->getCodPregunta();
        }
              
        if($preg->getDescripcion()!=null)
        {
            $sql=$sql." AND P.DESCRIPCION='".mysql_real_escape_string($preg->getDescripcion())."'";
        }
       
        if($preg->getTitulo()!=null)
        {
            $sql=$sql." AND P.TITULO='".mysql_real_escape_string($preg->getTitulo())."'";
        }

        if($preg->getRespuesta()!=null && $preg->getRespuesta()->getCodRespuesta()!=null)
        {
            $sql=$sql." AND R.COD_RESPUESTA='".$preg->getRespuesta()->getCodRespuesta()."'";
        }
        if($preg->getRespuesta()!=null && $preg->getRespuesta()->getDescripcion()!=null)
        {
            $sql=$sql." AND R.COD_RESPUESTA='".mysql_real_escape_string($preg->getRespuesta()->getDescripcon())."'";
        }
        }
        return $sql;
    }

    public function obtenerFaq($preg)
    {
        $sql = $this->obtenerFaqSQL($preg);
        $sqlQuery = new SqlQuery($sql);
        $tab=QueryExecutor::execute($sqlQuery);
        $lstFaq = $this->mapearFaq($tab);
        return $lstFaq;
    }
    
}
?>
